home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.oberon,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!swrinde!cs.utexas.edu!uunet!psgrain!m2xenix!mikeg
- From: mikeg@psg.com (Mike Gallo)
- Subject: Comp.lang.oberon FAQ (monthly)
- Expires: Sun, 1 Aug 1993 07:00:00 GMT
- Organization: PSGnet, Portland Oregon US
- Date: Sat, 3 Jul 1993 21:14:47 GMT
- Approved: news-answers-request@MIT.Edu
- Message-ID: <1993Jul3.211447.4710@psg.com>
- Followup-To: comp.lang.oberon
- Summary: This posting contains a list of Frequently Asked Questions
- (and their answers) about Oberon. It should be read by anyone
- who wishes to post to the Comp.lang.oberon newsgroup.
- Lines: 288
- Xref: senator-bedfellow.mit.edu comp.lang.oberon:479 comp.answers:1197 news.answers:10004
-
- Archive-name: Oberon-FAQ
-
- (* * * * * * * * * * * * * * * * * * * * * *)
-
- Thanks to all who have contributed! Further additions and
- corrections are welcome.
-
- mikeg@psg.com
-
- (* * * * * * * * * * * * * * * * * * * * * *)
-
- CONTENTS
-
- (1) Oberon
- (2) Oberon-2
- (3) Modula-3, Object Oberon, and Seneca
- (4) The Oberon system
- (5) System 3
- (6) The Gadgets package
- (7) For more information
- (8) To get an implementation of Oberon
-
-
- (1) OBERON
-
- From the release notes to ETH's Oberon
-
- Oberon is both a programming language and an
- operating environment. It is the final outcome of a
- research project whose aim was an extensible, highly
- integrated and compact operating platform for single-
- user, personal workstations.
-
- From "From Modula To Oberon"
-
- The language Oberon has evolved from Modula-2 and
- incorporates the experiences of many years of programming
- in Modula-2. A significant number of features have been
- eliminated. They appear to have contributed more to
- language and compiler complexity than to genuine power
- and flexibility of expression. A small number of
- features have been added, the most significant one being
- the concept of type extension [inheritance].
- The evolution of a new language that is smaller, yet
- more powerful than its ancestor is contrary to common
- practices and trends, but has inestimable advantages.
- Apart from simpler compilers, it results in a concise
- defining document, an indispensable prerequisite for any
- tool that must serve in the construction of sophisticated
- and reliable systems.
-
-
- (2) OBERON-2
-
- From "Differences between Oberon and Oberon-2"
-
- Oberon-2 is a true extension of Oberon. One
- important goal for Oberon-2 was to make object-oriented
- programming easier without sacrificing the conceptual
- simplicity of Oberon. After three years of using Oberon
- and its experimental offspring Object Oberon, we merged
- our experiences into a single refined version of Oberon.
- The new features of Oberon-2 are type-bound procedures
- [virtual methods], read-only export of variables and
- record fields, open arrays as pointer base types, and a
- WITH statement with variants. The FOR statement is
- reintroduced after having been eliminated in the step
- from Modula-2 to Oberon.
-
-
- (3) MODULA-3, OBJECT OBERON, AND SENECA
-
- Modula-3 is a language designed by DEC Software Research
- Center. Although also a descendant (but not a superset) of Modula-
- 2, it is otherwise unrelated to Oberon. Unless they bear on
- Oberon, discussions about Modula-3 are better directed to
- Comp.lang.modula3.
- Object Oberon is a now defunct, experimental extension of
- Oberon featuring "classes", structures somewhere in between modules
- and records. It evolved into Oberon-2.
- Seneca (soon to be renamed) is a variant of Oberon focusing on
- numerical programming. It is still under development by R.
- Griesemer of ETH, but a new report is expected to come out later
- this year.
-
-
- (4) THE OBERON SYSTEM
-
- From thutt@access.digex.com (Taylor Hutt)
-
- Oberon, the system, is a somewhat graphical user
- interface (Version 3.0 will be more graphical). Gone are
- the concepts of 'mode' (like insert/overstrike mode of a
- word processor). The mouse clicks always mean the same
- thing. However, even though the clicks mean the same
- thing, they have complicated the process (for a novice)
- by creating a new concept called the interclick.
- Basically, you press a mouse button, hold it down, and
- then press another mouse button. With three buttons,
- this can be confusing in the beginning. Button clicks
- provide messages for the system to pass around to the
- viewers.
- A viewer is a system which handles all open windows
- of a particular type. When you install Oberon, it comes
- with a Text viewer, and a Graphic viewer. You, the
- programmer, could easily make a SpreadSheet viewer or a
- AST viewer with little or no effort. It is up to the
- programmer of the Viewer to determine how output will be
- displayed. (Thus, there is no 'one' answer to how text is
- to be displayed on the screen). Oberon sends the proper
- messages to the proper viewer, and it is the
- responsibility of the Viewer to maintain the viewed area.
- One of Oberon's biggest advantages is portability.
- The language is defined more rigidly than many other
- languages, thus source can be ported virtually to any
- other Oberon system. Data files are also compatible,
- which is really nice.
-
- (5) SYSTEM 3
-
- From "Oberon System 3 -- A Realm of Persistent Objects"
-
- System 3 [is] an evolutionary version of the
- original Oberon system. From our vision and from
- examples like the one in Figure 1 it followed immediately
- that System 3 needs to be settled one important step
- beyond the ordinary state of object-oriented programming
- because it needs to be able to manage hundreds or even
- thousands of persistent objects and components that can
- appear in extensive variety, including at least character
- patterns, formulae, all kinds of figures, pictures,
- gadgets and widgets. What was obviously needed is a
- central object management and some concept like object
- library.
- It was our declared goal in the System 3 project to
- enhance the power of the original Oberon kernel while
- strictly preserving its spirit of simplicity and its
- modular architecture and structure. In essence, we have
- mastered this methodological challenge by exploiting,
- generalizing and unifying original notions. For example,
- many of the original Oberon ingredients like character
- patterns, display frames and viewers are just specialized
- System 3 objects, fonts appear as a variant of object
- libraries and texts are now sequences of arbitrary
- objects that need not be characters. Also, we have
- adopted the original message broadcast mechanism in the
- display space to implement a greatly generalized
- Model-View-Controller scheme.
- Seen structurally, System 3 differs from the
- original system merely by an additional base module
- called Objects for the handling of persistent objects and
- libraries. As displayed in Figure 2, this module provides
- a common interface platform for the original modules
- Display, Fonts, and Texts.
-
- (5) THE GADGETS SYSTEM
-
- From psaladin@iiic.ethz.ch (Patrick Saladin)
-
- The Gadget-System is an experimental system to
- manage graphical user interfaces (GUI). It provides the
- design of GUIs at run-time, which are based on basic
- elements, so called Gadgets. The system is shipped with
- often used Gadgets, e.g. buttons, sliders, file-browsers
- up to more complex ones, like a picture-editor. Users
- combine Gadgets at run-time (so called composition) to
- build more complex Gadgets out of simpler ones. These
- combined Gadgets act as independent units, which can be
- used in the environment. For example in texts or in
- other more complex Gadgets again. They also are editable
- at run-time, where ever they occur. GUIs can be created
- without the need of their application, it is also
- possible to add a GUI to text based Oberon applications.
- As a consequence, users can create their own GUIs,
- depending on their habits and taste, they can take bits
- out of existing applications and insert them somewhere
- else. As time passes, more and more different kinds of
- Gadgets will be available. Additionally, programmers can
- build other Gadget, which provide new functions. This
- can be achieved by extending existing Gadgets
- (OO-technique) or implementing new types of Gadgets.
- The Gadget-system uses the Oberon-Language ver. 1. It
- can easily be learned if one understands the principles
- of the Oberon-system.
-
-
- (6) FOR MORE INFORMATION
-
- Complete PostScript documentation from ETH is available by
- anonymous ftp from:
-
- neptune.inf.ethz.ch:/Oberon/Docu
- gatekeeper.dec.com:/pub/plan/Oberon/Docu
-
- "Oberon: A Glimpse at the Future" by Dick Pountain
- BYTE
- May 1993
-
- "Oberon" by Dick Pountain
- BYTE
- March 1991
-
- "From Modula to Oberon" by N. Wirth
- Software: Practice and Experience
- 18,7 (July 1988) 661-670
-
- "The Programming Language Oberon" by N. Wirth
- Software: Practice and Experience
- 18,7 (July 1988) 671-690
-
- "The Oberon System" by N. Wirth and J. Gutknecht
- Software: Practice and Experience
- 19,9 (September 1989) 857-893
-
- The Oberon System: User Guide and Programmer's Manual by M. Reiser,
- ACM Press 1992; ISBN 0-201-54422-9
-
- Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
- Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
-
- Project Oberon: The Design of an Operating System and Compiler by
- N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
-
- Object Oriented Programming in Oberon-2 by H. Moessenboeck,
- Springer-Verlag 1993; ISBN 3-650-56411-X
-
- A New Approach to Formal Language Definition and Its Application to
- Oberon by M. Odersky, Verlag der Fachvereine Zuerich 1989; ISBN 3-
- 7281-1732-3
-
-
- (7) TO GET AN IMPLEMENTATION OF OBERON
-
- Mention of a product does not necessarily constitute an
- endorsement of that product.
- The original project was launched and carried out by N. Wirth
- and J. Gutknecht for the Ceres workstation. Now, freeware versions
- of the Oberon language and system are available for numerous
- commercial machines, among them Macintosh, IBM RS/6000, DEC
- station, SPARC station and IBM PC/386 compatibles. These are
- available by anonymous ftp from:
-
- neptune.inf.ethz.ch:/Oberon
- gatekeeper.dec.com:/pub/plan/Oberon
-
- For Oberon compilers developed outside ETH, contact:
-
- VAX/VMS:
- ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany
- Modula-2 & Oberon-2 Compiler Manufactur
- Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
- E-mail/Internet:
- 100023.2527@compuserve.com
- g_dotzel@ame.nbg.sub.org
-
- MS-DOS:
- Oberon-M (freeware)
- neptune.inf.ethz.ch:/Oberon/Oberon-M
- gatekeeper.dec.com:/pub/plan/Oberon/Oberon-M
- (N.B., Oberon-M is independently produced and has no relation to
- ETH or DEC)
-
- Real Time Associates Ltd.
- Canning House, 59 Canning Road
- Croydon, Surrey, CRO 6QF
- England
- Tel.: 0044-81-656 7333
- Fax: 0044-81-655 0401
- E-mail: 100023.145@CompuServe.COM
-
- COP2 (partial Oberon to C translator)
- E-mail: thutt@access.digex.com (Taylor Hutt)
-
- Amiga:
- A+L AG
- Daederiz 61
- CH-2540 Grenchen
- Tel.: +41 (65) 52 03 11
-
- DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
- (Solaris)
- Office of Commercial Services
- Queensland University of Technology
- GPO box 2434, Brisbane Q4001
- Australia
- --
-
- A penny saved is a Congressional oversight.
-